"""
Base file system node

Includes all elements on a file system including folders, files and links.
"""
import shutil

class TNode(object):
    """
    A TNode is a common base class for file system objects.
    """
    
    def __init__(self, path):
        """Initializes this node with the specified path instance."""
        self.path = path
        
    def __repr__(self):
        """Create a full string representation of object."""
        return repr(self.path)
    
    def get_path(self):
        """Return path for node."""
        return self.path
    
    def exists(self):
        """Returns true if node exists on file system."""
        return self.path.exists()
    
    def touch(self):
        """Create node if it doesn't exist. A node is abstract so we do 
        nothing."""
        pass
    
    def delete(self):
        """Delete this node."""
        pass
    